Status: New Grad, MS CS
Position: SDE 1 at Amazon
Location: Seattle, Washington, USA , California , India
Date: April / May, 2022
People might know the usual Amazon New Grad Process steps, but for those of you who do not know anything about it, these are the 4 steps:
Online Assessment
OA 1 - Debugging Round [20 mins]:
7 questions in C, C++ or Java to be solved in 20 minutes. I took this too lightly and tried solving them in a crowded environment which made me face a time crunch. I was able to get 6/7 correct. Although it is very easy to get 7/7. Lesson learnt: do not take anything lightly!
OA 2 - Technical Round [70 mins]:
2 Algorithm questions straight out of Amazon Online Assessment Questions. I got Merge Two Sorted Lists and Subtree of Another Tree, both of them being LC easy. I really find myself lucky enough to get them, solved them in about 15 minutes, passing all test cases. Also, this round has an untimed survey kind of thing which asks you behaviour questions to be answered ideally keeping Amazon's Leadership Principals in mind. They present sliders to choose options, so you do not need to type anything in. This round went well!
OA 3 - Work Style Simulation and Logical Reasoning Round [2.5 hours]:
This round has various work style simulations, which tests your decision making skills given any work related situation. Be thouroughly prepared with Amazon LPs, and irrespective of what is moral or not, always stick your answers to what a "Leader with Leadership Principals" would do, imagining yourself at Amazon, given any situation. Also, after the tiring work simulation, you have 25 logical reasoning questions to be solved in 35 minutes. This one is kind of rough and I just finished by the last minute. For this, I do not think you can practice much but be sure to solve problems fast. Problems aren't tough but you got less time to do them.
Final Interviews (3 rounds)
After successfully completing the online assessments, I was invited to a survey to fill up my availability for final 3 45 minutes each virtual interviews, with 15 minutes in-between interview breaks. A lot of people get 1 or 3 virtual interviews after their OAs. People with 1 final interview are lucky enough as they are usually asked to just explain and optimize the code they submitted for OA 2, thats it (Ridiculous!). Also, there is no knowing that people with flawless OAs have gotten 1 final interview as I've seen many contradictory cases. Anyways, this is what I had:
Round 1:
The interviewer was a young SDE from the looks of it. As far as I remember, he started of asking me some LP questions such as:
Then he moved on to the coding question:Design Tic-Tac-Toe
Luckily I had solved this question in the past 2 weeks and I came up with the solution in 10 minutes. I don't think he expected me to solve it this fast! He wasn't well versed in Java so I explained him some lines. Be sure to always explain the approach before writing code. I know how excited anyone can get if they see a known problem, but hold your horses and explain each step clearly and then ASK whether you should start off with this approach. We had some time left so we discussed some edge cases and then he asked me to tell him about an interesting project of mine. This interview went really well for me and gave me a lot of confidence boost! Remember to stay grounded though!
Round 2:
The interviewer appeared to be a senior SDE but was quite friendly and firm to talk to. He joined the call late so he told me that he may have to take 10 minutes of my break between interviews. He started off with general LP questions such as:
After these questions, he moved on to the coding part with just 20 minutes left! And he started of with "Lets design a game", and I got really nervous to be honest. The question was a variation of Minesweeper. I had never solved this question before! But I kept my cool and could design the APIs to form the grid with given number of mines, and was asked to write an API to solve it too. I could partially complete this because I had already used up my 20 mins, but my interviewer looked quite satisfied with the approach, and said that the solution looked good enough! I just had 5 minutes of break after this interview and I felt this round was okay but did not go as well as the first!
Round 3
The interviewer was a senior SDE with a shadow interviewer who looked like a junior SDE. She told me about her work at Amazon (which was really awesome as she worked in the Prime Video Recommendations team). She started off with some behaviour questions such as:
After these, she moved on to the coding part with about 30 minutes left. The question was Same Tree, and yes, I sighed! I solved the question in 10 minutes with the recursive approach, and then another took another 10 minutes to solve it iteratviely as she asked for it in her follow-up. We discussed the time and space complexities, recusion disadvantages and in the end, with 5 minutes left, she asked me if I had any questions. I asked her about her tasks in some more details about Prime Video Recommendation systems and she was very happy to tell me about it. I also tried to let her know that I would love working on such projects some day! Overall, this interview went quite well too!
I received the offer within a week (5 business days).
Preparation:
I started with Leetcode somewhere in mid-April. I have been grinding it until October and finishing about 330 problems, mostly on the Amazon list. The strong truth about negotiation is that you really need to understand the problem patterns and digest them, there is no other way to get a successful job. Also taken from my story when I look back are:
Good luck with your journey!!!